/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package org.javahispano.javacup.modelo;

import java.io.File;

/**
 *
 * @author fabian
 */
public class PartidoTorneo {

    String instancia;
    Tactica local;
    TacticaDetalle localDetalle;
    Tactica visita;
    TacticaDetalle visitaDetalle;
    Partido partido;

    public PartidoTorneo(String instancia, int fecha, Tactica local, Tactica visita) throws Exception {
        this.instancia = instancia;
        localDetalle = local.getDetalle();
        visitaDetalle = visita.getDetalle();
        ValidaTactica.validarDetalle(localDetalle.getNombre(), localDetalle);
        ValidaTactica.validarDetalle(visitaDetalle.getNombre(), visitaDetalle);
        this.local = local;
        this.visita = visita;
        partido = new Partido(local, visita, true);
        partido.inicioRapido();
        Runtime rt = Runtime.getRuntime();
        int iter=0,iter0;
        for (int i = 0; partido.getIteracion() < 3600; i++) {
            iter0=iter;
            partido.iterar();
            iter=partido.getIteracion();
            
            System.out.println(partido.getEstado()+" "+i+" "+partido.getIteracion()+" "+rt.maxMemory());//-rt.freeMemory());
            if (i % 100 == 0) {
                rt.gc();
            }
        }
        System.out.println(partido.getEstado()+" "+partido.getGolesLocal() + "-" + partido.getGolesVisita() + " " + partido.getPosecionBalonLocal() + "-" + (1 - partido.getPosecionBalonLocal()));

    }

    public Partido getPartido() {
        return partido;
    }

    public static void main(String[] args) {
//        PartidoTorneo pt;
//        try {
//            pt = new PartidoTorneo("primera ronda grupo 2", 20090505, new TacticaBarcelona(),new TacticaRealMadrid());
//            pt.getPartido().getPartidoGuardado().save(new File("c:\\1"));
//        } catch (Exception e) {
//        }
    }
}
